package data_flow;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * 两种读取方法 InputStream的使用
 */
public class readMethod {
    public static void main(String[] args) throws Exception {
        InputStream f1=new FileInputStream("D:\\桌面文件\\java课程\\课程资料\\javaweb\\a.txt");
        read1(f1);
        System.out.println("-------------------------------");
        readbyte(f1);
    }

    /**
     * 一滴水的读取
     * @param f1
     * @throws IOException
     */
    public static void read1(InputStream f1) throws IOException {
        while(true){
            int data=f1.read();
            if (data==-1){
                //此时说明数据已经读完了
                break;
            }
            //否则，data就是拿到的数据流
            byte b=(byte) data;
            System.out.println(b);
            f1.close();
        }
    }

    /**
     * 一次性接取好多水
     * @param f1
     * @throws Exception
     */
    public static void readbyte(InputStream f1) throws Exception{
        byte[] bytes=new byte[5];
        while (true){
            int n=f1.read(bytes);
            if (n==-1){
                //说明数据读完了
                break;
            }
            for (int i = 0; i <n ; i++) {
                byte b=bytes[i];
                System.out.println(b);
            }
        }
        f1.close();
    }
}
